package com.wtwd.device.service;

import com.wtwd.device.model.entity.DeviceSetting;

import java.util.List;
import java.util.Map;

public interface DeviceSettingService {
    /**
     * 获取设备设置列表
     *
     * @param watchId
     * @param userId
     * @return
     */
    Map<String, Object> getDeviceSettingListByWatchId(String watchId, Long userId, Integer curPage, Integer pageSize);

    /**
     * 新增一笔设备设置信息
     *
     * @param data
     * @return
     */
    Integer addDeviceSetting(DeviceSetting data);

    /**
     * 根据手表id查询手表设置
     *
     * @param watchId
     * @return
     */
    List<DeviceSetting> getDeviceListByWatchId(String watchId);

    /**
     * 根据id修改设备设置
     *
     * @param data
     * @return
     */
    Integer modifyDeviceSettingByWatchId(DeviceSetting data);

    /**
     * 根据id获取一条设备设置
     *
     * @param id
     * @return
     */
    DeviceSetting getDeviceSettingById(Integer id);

    /**
     * 根据手表id和用户id查找一条记录
     */
    DeviceSetting getDeviceSettingByWatchIdAndUserId(Long userId, String watchId);

    List<String> getWatchIdByUserId(Long userId);


    /**
     * 判断是否只修改了手表id
     * if 没有修改手表id
     * return true
     * else
     * 执行一下操作
     * 鉴别手表id的与其他数据表的关联性
     * 1.默认表盘是否存在该手表id表盘   >0存在
     * 2.表盘商场是否存在该手表id的表盘 >0 存在
     * 3.升级包文件是否存在该手表id的升级包文件>0存在
     *
     * 存在关联  return true
     *  else           false
     * @param watchId
     * @return
     */
    boolean authWatchIdIsRelevancy(DeviceSetting oldDeviceSetting, String watchId);
}
